var NumberUtil = new Number();
/**
 * 金额格式化
 * @param {} number 需要格式化的金额
 * @param {} decimal 保留小数位
 * @return {} 格式化之后的金额
 */
Number.prototype.formatMoney = function(number, decimal) {
    if (decimal == null || decimal == 'undefined') {
        decimal = 2;
    }
    // 保留小数位数重计算
    decimal = decimal > 0 && decimal <= 20 ? decimal : 2;
    // 四舍五入
    number = parseFloat((number + "").replace(/[^\d\.-]/g, "")).toFixed(decimal) + "";
    // 取得倒序数组
    var reverseList = number.split(".")[0].split("").reverse();
    // 截取小数部分
    decimalArea = number.split(".")[1];
    // 定义返回值
    ret = "";
    for (i = 0; i < reverseList.length; i++) {
        ret += reverseList[i] + ((i + 1) % 3 == 0 && (i + 1) != reverseList.length ? "," : "");
    }
    // 設定返回值，拼接整数小数部分
    return ret.split("").reverse().join("") + "." + decimalArea;
}
/**
 * 只允许输入数字 小数点 小数点后面两位 小数点只出现一次
 * @param {} obj 当前对象
 * @return 无
 */
Number.prototype.clearNoNum = function(obj) {
    // 先把非数字的都替换掉，除了数字和.
    obj.value = obj.value.replace(/[^\d.]/g, "");
    // 必须保证第一个为数字而不是.
    obj.value = obj.value.replace(/^\./g, "");
    // 保证只有出现一个.而没有多个.
    obj.value = obj.value.replace(/\.{2,}/g, ".");
    // 保证.只出现一次，而不能出现两次以上
    obj.value = obj.value.replace(".", "$#$").replace(/\./g, "").replace("$#$", ".");
    // 小数点后面最大只能输入两位
    if (obj.value.indexOf(".") > 0) {
        obj.value = obj.value.substring(0, obj.value.indexOf(".") + 3);
    }
}
/**
 * 去掉最后一个.
 * @param {} obj 当前对象
 * @return 无
 */
Number.prototype.clearNumLastPoint = function(obj) {
    // 为了去除最后一个.
    obj.value = obj.value.replace(/\.$/g, "");
}